cmake_minimum_required(VERSION 2.8.3)
project(free_gait_msgs)

## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
  message_generation
  std_msgs
  actionlib
  actionlib_msgs
  geometry_msgs
  trajectory_msgs
)

## Generate messages in the 'msg' folder
add_message_files(
   FILES
   ActionDescription.msg
   CollectionDescription.msg
   Step.msg
   BaseAuto.msg
   BaseTarget.msg
   BaseTrajectory.msg
   Footstep.msg
   LegMode.msg
   EndEffectorTarget.msg
   EndEffectorTrajectory.msg
   JointTarget.msg
   JointTrajectory.msg
   CustomCommand.msg
)

## Generate services in the 'srv' folder
add_service_files(
  FILES
  GetActions.srv
  GetCollections.srv
  SendAction.srv
  SendActionSequence.srv
)

## Generate actions in the 'action' folder
add_action_files(
  FILES
  ExecuteSteps.action
  ExecuteAction.action
)

## Generate added messages and services with any dependencies listed here
generate_messages(
  DEPENDENCIES
  std_msgs
  actionlib
  actionlib_msgs
  geometry_msgs
  trajectory_msgs
 )

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES starleth_msgs
  CATKIN_DEPENDS
    message_runtime
    std_msgs
    actionlib
    actionlib_msgs
    geometry_msgs
    trajectory_msgs
#  DEPENDS system_lib
)

#############
## Install ##
#############

# all install targets should use catkin DESTINATION variables
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html

## Mark executable scripts (Python etc.) for installation
## in contrast to setup.py, you can choose the destination
# install(PROGRAMS
#   scripts/my_python_script
#   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )

## Mark executables and/or libraries for installation
# install(TARGETS starleth_msgs starleth_msgs_node
#   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
#   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
# )

## Mark cpp header files for installation
# install(DIRECTORY include/${PROJECT_NAME}/
#   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
#   FILES_MATCHING PATTERN "*.h"
#   PATTERN ".svn" EXCLUDE
# )

## Mark other files for installation (e.g. launch and bag files, etc.)
# install(FILES
#   # myfile1
#   # myfile2
#   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
# )
